/*
 * ITask.h
 *
 *  Created on: 10.09.2012
 *      Author: caffeine
 */

#ifndef __ITHREADTASK_H___
#define __ITHREADTASK_H___

#include <boost/function.hpp>
//#include "IThread.h"
namespace lampe {
namespace thread {

/***
* @class IThreadTask
* Функция, которая должна будет вызваться внутри потока. Функция является функторов, в качестве парамитров
* принимает поток, который запустил данный метод.
*
* Пример:
* @code
* void myTask(IThread*thread){
*     //code of task
* }
* @endcode
* */

//typedef void (*ITaskProcess)();
class IThread;
typedef boost::function<void(IThread*thread)> IThreadTask;


} /* namespace thread */
} /* namespace lampe */
#endif /* ITASK_H_ */
